Skip to content

Conversation

@nilsding
Copy link
Member

Apparently we can run our tests in parallel just fine. On my local machine this cuts down the runtime from 3 minutes to around 50 seconds with a parallelism of 4:

% for jobs in `seq 1 17`; do printf "--parallel %2d => " "$jobs" && time (ctest --parallel $jobs > /dev/null 2>&1); done
--parallel  1 => ( ctest --parallel $jobs > /dev/null 2>&1; )  41.42s user 9.14s system 27% cpu 3:05.53 total
--parallel  2 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.55s user 9.16s system 55% cpu 1:33.34 total
--parallel  3 => ( ctest --parallel $jobs > /dev/null 2>&1; )  41.40s user 9.20s system 81% cpu 1:01.79 total
--parallel  4 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.29s user 9.15s system 102% cpu 49.995 total
--parallel  5 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.08s user 8.94s system 102% cpu 49.895 total
--parallel  6 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.51s user 9.33s system 102% cpu 50.590 total
--parallel  7 => ( ctest --parallel $jobs > /dev/null 2>&1; )  43.77s user 9.33s system 105% cpu 50.537 total
--parallel  8 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.89s user 9.10s system 104% cpu 49.761 total
--parallel  9 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.77s user 9.19s system 104% cpu 49.810 total
--parallel 10 => ( ctest --parallel $jobs > /dev/null 2>&1; )  44.97s user 9.68s system 107% cpu 50.834 total
--parallel 11 => ( ctest --parallel $jobs > /dev/null 2>&1; )  45.87s user 9.93s system 109% cpu 50.889 total
--parallel 12 => ( ctest --parallel $jobs > /dev/null 2>&1; )  45.37s user 9.33s system 107% cpu 50.908 total
--parallel 13 => ( ctest --parallel $jobs > /dev/null 2>&1; )  45.75s user 9.75s system 108% cpu 50.919 total
--parallel 14 => ( ctest --parallel $jobs > /dev/null 2>&1; )  46.53s user 9.82s system 110% cpu 51.099 total
--parallel 15 => ( ctest --parallel $jobs > /dev/null 2>&1; )  46.76s user 9.81s system 110% cpu 51.379 total
--parallel 16 => ( ctest --parallel $jobs > /dev/null 2>&1; )  47.63s user 9.72s system 114% cpu 50.086 total
--parallel 17 => ( ctest --parallel $jobs > /dev/null 2>&1; )  46.05s user 9.23s system 110% cpu 49.938 total

Let's see if this applies to the test runs in CI too.

@nilsding nilsding self-assigned this Oct 23, 2025
@nilsding nilsding added the CI build/checks continuous integration, Drone, testing label Oct 23, 2025
Apparently we can run our tests in parallel just fine.  On my local
machine this cuts down the runtime from 3 minutes to around 50 seconds
with a parallelism of 4:

```sh
% for jobs in `seq 1 17`; do printf "--parallel %2d => " "$jobs" && time (ctest --parallel $jobs > /dev/null 2>&1); done
--parallel  1 => ( ctest --parallel $jobs > /dev/null 2>&1; )  41.42s user 9.14s system 27% cpu 3:05.53 total
--parallel  2 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.55s user 9.16s system 55% cpu 1:33.34 total
--parallel  3 => ( ctest --parallel $jobs > /dev/null 2>&1; )  41.40s user 9.20s system 81% cpu 1:01.79 total
--parallel  4 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.29s user 9.15s system 102% cpu 49.995 total
--parallel  5 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.08s user 8.94s system 102% cpu 49.895 total
--parallel  6 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.51s user 9.33s system 102% cpu 50.590 total
--parallel  7 => ( ctest --parallel $jobs > /dev/null 2>&1; )  43.77s user 9.33s system 105% cpu 50.537 total
--parallel  8 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.89s user 9.10s system 104% cpu 49.761 total
--parallel  9 => ( ctest --parallel $jobs > /dev/null 2>&1; )  42.77s user 9.19s system 104% cpu 49.810 total
--parallel 10 => ( ctest --parallel $jobs > /dev/null 2>&1; )  44.97s user 9.68s system 107% cpu 50.834 total
--parallel 11 => ( ctest --parallel $jobs > /dev/null 2>&1; )  45.87s user 9.93s system 109% cpu 50.889 total
--parallel 12 => ( ctest --parallel $jobs > /dev/null 2>&1; )  45.37s user 9.33s system 107% cpu 50.908 total
--parallel 13 => ( ctest --parallel $jobs > /dev/null 2>&1; )  45.75s user 9.75s system 108% cpu 50.919 total
--parallel 14 => ( ctest --parallel $jobs > /dev/null 2>&1; )  46.53s user 9.82s system 110% cpu 51.099 total
--parallel 15 => ( ctest --parallel $jobs > /dev/null 2>&1; )  46.76s user 9.81s system 110% cpu 51.379 total
--parallel 16 => ( ctest --parallel $jobs > /dev/null 2>&1; )  47.63s user 9.72s system 114% cpu 50.086 total
--parallel 17 => ( ctest --parallel $jobs > /dev/null 2>&1; )  46.05s user 9.23s system 110% cpu 49.938 total
```

Let's see if this applies to the test runs in CI too.

Signed-off-by: Jyrki Gadinger <[email protected]>
@nilsding nilsding force-pushed the ci/noid/parallel-ctest branch from 98c0daf to ede52d9 Compare October 28, 2025 11:19
@github-actions
Copy link

Artifact containing the AppImage: nextcloud-appimage-pr-8933.zip

Digest: sha256:41d4ce15a8b4c84882a729385bcb1e1bb214542105f075deded0741d89a1e5c6

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI build/checks continuous integration, Drone, testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants